package orbit

//go:generate msgp

type Direction byte

const (
	NoneDirection        Direction = iota
	TopDirection                   = 1 << 0
	BottomDirection                = 1 << 1
	LeftDirection                  = 1 << 2
	RightDirection                 = 1 << 3
	LeftTopDirection               = TopDirection + LeftDirection
	RightTopDirection              = TopDirection + RightDirection
	LeftBottomDirection            = BottomDirection + LeftDirection
	RightBottomDirection           = BottomDirection + RightDirection
)

type Point int16

//msgp:tuple Location
type Location struct {
	X Point
	Y Point
}

//msgp:tuple BlockLocation
type BlockLocation struct {
	Center  Location
	Gap     Location
	GapWrap Location
}
